package com.bto.solar.work.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.sql.Timestamp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 客户信息
 * </p>
 *
 * @author adrian
 * @since 2023-08-28
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "Customer对象", description = "客户信息")
public class Customer implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("客户id")
    @TableId(value = "customer_id", type = IdType.INPUT)
    private Long customerId;

    @ApiModelProperty("客户名字")
    private String name;

    @ApiModelProperty("客户类型（0：个人，1：企业/组织）--待商议")
    private Byte ddCustomerType;

    @ApiModelProperty("客户电话")
    private String phone;

    @ApiModelProperty("证件类型(0 身份证 1 台胞证)")
    private Integer idCardType;

    @ApiModelProperty("客户身份证号")
    private String idNumber;

    @ApiModelProperty("公司ID")
    private Long companyId;

    @ApiModelProperty("身份证照片（正面）")
    private String idCardFront;

    @ApiModelProperty("身份证照片（反面）")
    private String idCardBack;

    @ApiModelProperty("信息使用授权书")
    private String authorizationLetter;

    @ApiModelProperty("信息使用授权书（纸质版）")
    private String authorizationLetterPaper;

    @ApiModelProperty("产权证明")
    private String propertyCertificate;

    @ApiModelProperty("婚姻情况")
    private String maritalStatus;

    @ApiModelProperty("教育程度")
    private String educationalBackground;

    @ApiModelProperty("职业")
    private String career;

    @ApiModelProperty("家庭经济情况")
    private String economy;

    @ApiModelProperty("健康情况")
    private String health;

    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Timestamp createTime;

    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Timestamp updateTime;

    @ApiModelProperty("是否删除（0：存在，1：删除）")
    private Byte isDeleted;
}
